Move GtkAccelGroup private structure to shared header file
authorJavier Jardón <jjardon@gnome.org>
Mon, 30 Nov 2009 03:51:58 +0000 (04:51 +0100)
committerJavier Jardón <jjardon@gnome.org>
Sun, 2 May 2010 23:51:20 +0000 (01:51 +0200)
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=602174

gtk/Makefile.am
gtk/gtkaccelgroup.c
gtk/gtkaccelgroupprivate.h [new file with mode: 0644]
gtk/gtkwindow.c
gtk/gtkwindow.h

index 4fd101485b17655ebcde480c401f865e2d28a416..748dd65d56672412351a71088f0ecd8fbbaf8468 100644 (file)
@@ -166,6 +166,7 @@ gtk_public_h_sources =          \
        gtkaccessible.h         \
        gtkaction.h             \
        gtkactiongroup.h        \
+       gtkaccelgroupprivate.h  \
        gtkactivatable.h        \
        gtkadjustment.h         \
        gtkalignment.h          \
index 86f9b91bfd3e8d4d80ac181244f2f5f441ab48ed..b920f8ea7357e6c2ac5ea438a87a77667da7cb5f 100644 (file)
@@ -29,6 +29,7 @@
 #include <stdlib.h>
 
 #include "gtkaccelgroup.h"
+#include "gtkaccelgroupprivate.h"
 #include "gtkaccellabel.h" /* For _gtk_accel_label_class_get_accelerator_label */
 #include "gtkaccelmap.h"
 #include "gtkintl.h"
 
 #define GTK_ACCEL_GROUP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_ACCEL_GROUP, GtkAccelGroupPrivate))
 
-struct _GtkAccelGroupPrivate
-{
-  guint               lock_count;
-  GdkModifierType     modifier_mask;
-  GSList             *acceleratables;
-  guint               n_accels;
-  GtkAccelGroupEntry *priv_accels;
-};
-
 /* --- prototypes --- */
 static void gtk_accel_group_finalize     (GObject    *object);
 static void gtk_accel_group_get_property (GObject    *object,
diff --git a/gtk/gtkaccelgroupprivate.h b/gtk/gtkaccelgroupprivate.h
new file mode 100644 (file)
index 0000000..af42d13
--- /dev/null
@@ -0,0 +1,36 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* GTK - The GIMP Toolkit
+ * Copyright (C) Javier Jardón <jjardon@gnome.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_ACCEL_GROUP_PRIVATE_H__
+#define __GTK_ACCEL_GROUP_PRIVATE_H__
+
+
+#define GTK_ACCEL_GROUP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_ACCEL_GROUP, GtkAccelGroupPrivate))
+
+struct _GtkAccelGroupPrivate
+{
+  guint               lock_count;
+  GdkModifierType     modifier_mask;
+  GSList             *acceleratables;
+  guint               n_accels;
+  GtkAccelGroupEntry *priv_accels;
+};
+
+#endif  /* __GTK_ACCEL_GROUP_PRIVATE_H__ */
index 97867f5f1e95f37a46d1aa17519c495d3a41269d..8ddf8701b9ffaca1e93d3ce4f62c50948be19a0e 100644 (file)
@@ -8167,9 +8167,9 @@ _gtk_window_keys_foreach (GtkWindow                *window,
       GtkAccelGroup *group = groups->data;
       gint i;
 
-      for (i = 0; i < group->n_accels; i++)
+      for (i = 0; i < group->priv->n_accels; i++)
        {
-         GtkAccelKey *key = &group->priv_accels[i].key;
+         GtkAccelKey *key = &group->priv->priv_accels[i].key;
          
          if (key->accel_key)
            (*func) (window, key->accel_key, key->accel_mods, FALSE, func_data);
index f706e48e78279b552f69fdc228313a4f0187a42a..22753fcd0ed70745f609d92210140c0bf0d5f737 100644 (file)
@@ -35,6 +35,8 @@
 #include <gtk/gtkaccelgroup.h>
 #include <gtk/gtkbin.h>
 
+#include "gtk/gtkaccelgroupprivate.h"
+
 
 G_BEGIN_DECLS